package models

import org.joda.time.DateTime

case class Module(moduleName: String,
                  moduleClass: String,
                  moduleOrder: Int = 1,
                  joinTime: Option[DateTime],
                  isDeleted: Boolean = false,
                  moduleRequireModuleClasses: Option[Seq[String]] = None,
                  moduleOptionalParams: Option[Seq[String]] = None,
                  moduleIconClass: Option[String] = None,
                  moduleParentId: Option[Int] = None,
                  updateTime: Option[DateTime] = None,
                  id: Option[Int] = None) extends BaseModel {}

case class ModuleWithParent(module: Module, parent: Module)

case class RoleModule(roleId: Int,
                      moduleId: Int,
                      joinTime: Option[DateTime],
                      isDeleted: Boolean = false,
                      updateTime: Option[DateTime] = None,
                      id: Option[Int] = None) extends BaseModel